A gente ta sempre desativando todos logs de todos serviços de todos servidores da igreja, mas essas merdas ficam voltando. Ou porque o sistema quando se atualiza ativa por padrão, ou porque algum imbecil esquece ligado depois de fazer depuração, entre outros motivos de força maior.

Então pra garantir que os logs não fiquem lá ocupando espaço, porque esse é o problema de ter logs, afinal armazenamento custa dinheiro, é melhor apagar tudo frequentemente.

Pensando nisto, acabamos de desenvolver um revolucionário script que apaga logs recorrentemente! Seria de se imaginar que um script desta natureza custasse milhares de reais, e poderia! Mas como no momento estamos sem tempo pra perder com marketing, propaganda, e lidar com gente idiota, vamos liberar de graça aqui agora e explicar como usar.

---

# Criar script em bash

Como a maioria dos arquivos de logs de sistema estão em lugares específicos e inacessíveis por usuários comuns, vamos rodar o script como *root*, então o script vai a princípio ficar em **/root/bin**:

## Editar arquivo

    # vim /root/bin/nolog.bash

### Conteúdo do arquivo

    #!/bin/bash
    ## Apaga essa porra de log
    
    LOGS=( "/var/log/nginx/access.log" "/var/log/nginx/error.log" )
    
    for LOG in ${LOGS[@]}
    do
    	echo 1> ${LOG} # Foda-se o artigo 15 do marco civil
    	# Foda-se o artigo 15 do marco civil de novo
    done
    # E caso a mensagem não tenha ficado clara, foda-se essa porra de artigo 15 do marco civil

## Explicação do arquivo

O array *LOGS* deve conter todos os arquivos que devem ser apagados. No exemplo acima, o que estamos apagando são os logs do servidor web nginx. Mas é só seguir a regra de sintaxe de declaração de array do bash e colocar quantos arquivos de logs forem necessários.

Por exemplo, se eu fosse apagar todos os arquivos de log do *apache2*, que é outro servidor web comumente usado, eu provavelmente usaria a seguinte linha no lugar desta do exemplo:

    LOGS=( "/var/log/nginx/access.log" "/var/log/nginx/error.log" "/var/log/apache2/*.log" )

Isto inclui, além dos arquivos de log do nginx, todos arquivos com a extensão *.log* no diretório */var/log/apache2*, ou seja, todos os arquivos de log do servidor web *apache2*.

Para mais informações sobre como funcionam arrays em bash, veja a [documentação][1].

## Consertar permissões para execução

    # chmod ug+x /root/bin/nolog.bash

# Rodar o script recorrentemente

    # crontab -e

Adicionar a seguinte linha na crontab:

    @daily		/bin/bash /root/bin/nolog.bash

*@daily* significa que todo dia à meia noite (no relógio do servidor), vai rodar o script e apagar todos logs.

Pra rodar de 15 em 15 minutos:

    */15 * * * *		/bin/bash /root/bin/nolog.bash

[1]: http://www.tldp.org/LDP/abs/html/arrays.html
[[!tag crontab bash script log]]
